package com.example.demo.service;

import com.example.demo.dto.WorkflowDTO;
import com.example.demo.entity.Workflow;
import java.util.List;

public interface WorkflowService {

    /**
     * 分页查询流程列表
     */
    List<WorkflowDTO> getWorkflows(int page, int size, String flowName);

    /**
     * 获取流程总数
     */
    long countWorkflows(String flowName);

    /**
     * 根据ID查询流程详情
     */
    WorkflowDTO getWorkflowById(Long id);

    /**
     * 创建流程
     */
    WorkflowDTO createWorkflow(WorkflowDTO workflowDTO);

    /**
     * 更新流程
     */
    WorkflowDTO updateWorkflow(Long id, WorkflowDTO workflowDTO);

    /**
     * 删除流程
     */
    void deleteWorkflow(Long id);

    /**
     * 查询所有流程，按执行顺序排序
     */
    List<WorkflowDTO> getAllWorkflowsOrdered();

    /**
     * 根据执行顺序获取流程
     */
    WorkflowDTO getWorkflowByOrder(Integer workflowOrder);
}